import os

def generate_output_from_input(input_directory, output_directory):
    # 确保输出目录存在
    os.makedirs(output_directory, exist_ok=True)

    # 获取所有 .in 文件
    input_files = [f for f in os.listdir(input_directory) if f.endswith('.in')]

    for input_file in input_files:
        input_filepath = os.path.join(input_directory, input_file)
        output_filepath = os.path.join(output_directory, input_file.replace('.in', '.out'))

        with open(input_filepath, 'r') as infile:
            s = infile.read().strip()  # 读取字符串并去掉空白字符

            # 处理输入数据
            mp = {}
            for char in s:
                mp[char] = mp.get(char, 0) + 1
            t = 0
            for count in mp.values():
                t = max(t, count)
            result = 3 - t

            # 写入 .out 文件
            with open(output_filepath, 'w') as outfile:
                outfile.write(f"{result}\n")
        
        print(f"输出文件已生成并保存到 {output_filepath} 文件中")

# 目录路径
input_directory = r"C:\Users\ASUS\Desktop\2024年新生赛出题\2024年新生赛出题(非大一组)\A题"
output_directory = r"C:\Users\ASUS\Desktop\2024年新生赛出题\2024年新生赛出题(非大一组)\A题_output"

# 根据已存在的 .in 文件生成对应的 .out 文件
generate_output_from_input(input_directory, output_directory)
